function out = peak(A_fft,pitch);
%
% Funcao para ser usada com a analise_fft 
%
% Identifica o pico da fundamental.


[Amp_max, id_max] = max(A_fft);

pks = find((A_fft > [A_fft(1); A_fft(1:end-1)]) & ...
           (A_fft > [A_fft(2:end); A_fft(end)]) & ...
           (A_fft > 0.95*pitch) & ...
           (A_fft < 1.05*pitch) & ...
           (A_fft > 0.03*Amp_max));
        
% Supomos que apenas os 7 primeiros harmonicos
% podem ser picos maximos da fft.

% pks = pks(find(((id_max./pks) <= 7.5) & ...
%               ((id_max./pks) >= 1) & ...
%               (((round(id_max./pks) - id_max./pks)) <= 0.15))); 
            

[m, ipks] = min(pks - pitch);
out = pks(ipks);

% Corrige erro de estimacao no meio do sinal
% Suponbha que o sinal ja tem frequencia
% estavel. SE estimacao menor que 80% da media dessa
% frequencia elimina ponto.

%pks(find(pks <= 0.95*pitch)) = [];

%if (length(pks) > 0)
%   out = pks(1);
%else
%   out = [];
%end
